/*
 * @Author: mjjh
 * @LastEditTime: 2023-04-15 10:58:03
 * @FilePath: \chatgpt-shuowen\src\api\login.ts
 * @Description: 登录 相关接口
 */
import { post, get } from '@/utils/request'

/**
 * @description: 获取用户信息
 * @return {*}
 */
export function getUserInfoFn<T>() {
  return post<T>({
    url: '/user/info',
  })
}

/**
 * 前端用户登录请求
 */
export interface loginModel {
  // 密码
  password: string
  // 邮箱地址
  username: string
}
/**
 * @description: 登录
 * @param {loginModel} data
 * @return {*}
 */
export function loginEmail<T>(data: loginModel) {
  return post<T>({
    url: '/user/login/email',
    data,
  })
}

/**
 * @description: 登录
 * @param {loginModel} data
 * @return {*}
 */
export function loginPhone<T>(data: loginModel) {
  return post<T>({
    url: '/user/login/phone',
    data,
  })
}

/**
 * @description: 登录
 * @param {loginModel} data
 * @return {*}
 */
export function loginWechat<T>({ code, inviteCode }) {
  return get<T>({
    url: `/weixin/wxLoginByCode?code=${code}&inviteCode=${inviteCode}`,
  })
}

/**
 * @description:修改密码
 * @author zhangyiyu
 *
*/
export const changePwd = (pwd: any) => {
  return post({
    url: `/user/updatePwd`,
    data: {
      pwd
    }
  })
}
/**
 * 
 * @param data 
 * @returns 微信登陆后将用户信息传到服务端
 */
export const wxLoginPutUserInfo = (data) => {
  return post({
    url: `/weixin/uploadUserInfo`,
    data,
  })
}
/**
 * 
 * @param data 
 * @returns 用户微信小程序登陆后,获取微信绑定的手机号
 */
export const wxMiniGetPhoneNumber = (data) => {
  return post({
    url: `/weixin/wxMiniGetPhoneNumber`,
    data
  })
}

/**
 * 
 * @param data 更新用户昵称
 * @returns 
 */
export const updateBaseUserInfo = (data) => {
  return post({
    url: `/weixin/updateBaseUserInfo`,
    data
  })
}

/**
 * 手机号注册后，绑定微信小程序
 * @param code 
 * @returns 
 */
export const phoneBindMiniWxByCode = (code) => {
  return get({
    url: `/weixin/phoneBindMiniWxByCode?code=${code}`
  })
}


